home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Collection of Tools & Utilities
/
Collection of Tools and Utilities.iso
/
edit
/
me_cd25.zip
/
DOC.ZIP
/
README
< prev
next >
Wrap
Text File
|
1992-11-09
|
8KB
|
219 lines
-*-text-*-
The is the README for ME2. It contains source for:
ME2 (the Mutt Editor v2.5)
MC2 (the Mutt Compiler v2.1)
a Compute Server (v1.0)
various libraries
Mutt extensions to ME2
Released:
2.5: August 30, 1992 (Many extensions now compiled into the editor)
2.4: August 9, 1992 (regular expression bug fixes, a PC screen width
bug fix)
2.3 May 10, 1992 (Atari port, minor enhancements)
2.2: April 12, 1992 (MS-DOS and OS2 ports, bug fixes)
2.0: February 29, 1992 (beta)
This release is targeted at Unix, MS-DOS, OS/2 and Atari. I've tried to
write the code as portablly as possible (in C and ANSI C) so hopefully
it should be "easy" to port to other platforms (that support C).
This stuff is released as GNU Ware - use, share and enjoy.
What is ME2?
---- -- ----
ME2 is a small, portable, extendable [GNU] Emacs' like editor that is
known to compile and run on HP-UX (Series 800, 700 and 300), BSD Unix
(Sun, Apollo, DEC, etc), IBM AIX, OSF/POSIX (HP and DEC), MS-DOS/PC-DOS
(IBM PCs and compatibles), OS/2 and Atari (TOS and MiNT). "Pure" SysV
Unix is not supported. ME2 is very customizable via a compiled language
(provided) with lots of example programs: a C mode, paren matching, a
visual towers of hanoi, incremental searching, programmers calculator,
mark rings, multi file search (and replace), picture mode (from GNU
Emacs), gomoku (from GNU Emacs) and lots more. Other features include 8
bit character support and the (Unix only) ability to have concurrent
processes (such as make) running in a buffer.
How to Compile and Install ME2
--- -- ------- --- ------- ---
Compiling
---------
You can either use the compile /bin/sh shell scripts or the Makefiles.
In both cases:
Edit util/os.h so it matches your OS.
Edit me2/config.h so that it matches what you want ME2 to support.
For the Makefiles:
Edit me2/Makefile so that it matches your OS and config.h.
Edit ./Makefile.
Type make in this directory and it will compile all the
subdirectories.
For the compile scripts:
Edit me2/compile so that it matches your OS and config.h.
Edit ./compile for the CFLAGS you want.
Type "./compile" in this directory and it will compile all the
subdirectories.
Notes:
I've run the compile scripts (and tested the results) on:
HP-UX 9.0 series 700 (Ansi C "-Aa -O")
HP-UX 8.0 series 300, 800 (K&R "-O" and Ansi C "-Aa -O")
HP-UX 7.05 series 300 (K&R "-O")
HP-UX 7.0 series 800 (K&R "-O" and Ansi C "-Aa -O")
HP OSF/1 1.0 Operating System A.01.00 ("" - DON'T use -O)
Apollo 68k SR10.4 BSD (psudeo Ansi C "-O" and Ansi C "-O -Aansi").
Make sure to set DOMAIN_OS in util/os.h.
The compiles will complain (lots) about varargs and select. You
can ignore these. I'm pretty sure the varargs complaints are
groundless (ie I've run it a long time without problems). If
you get tired of the messages, you can put "-U__STDC__" in the
compile flags.
Sun SparcStation 2, SunOS Release 4.1.1 ("-O")
IBM RS/6000, AIX Version 3.1 ("-O"). AIX 3.2 ("-O" or ANSI C
"CC=c89"). Make sure you use -lcurses in me2/compile and set
AIX_OS in util/os.h.
DEC 3100 OSF/1 ("-O"). Not much testing done.
DECstation 5000/200 ULTRIX V4.2 ("-O"). You may need to set
FOPEN_BINARY (me2/config.h). On this version of ULTRIX, "rb" is
OK. Also, you may need to comment out the
"#define _POSIX_SOURCE" at the top of util/fxpand.c
They should run on other Unix boxes but I can't test everything.
Let me know if you find problems.
Unixes that kinda work:
UNIX_System_V 4.1.0 V4ES i386 x86at (a 486 running a SYS V unix).
To get this to compile:
- change the #includes of time.h to sys/time.h (./me2/process.c,
./me2/unixio.c, ./comserver/comserver.c).
- in comserver/compile and me2/compile, add "-lsocket -lnsl" to
the cc line so the socket code will link.
- or just turn off the compute server (in me2/config.h) and
don't worry about the socket code. See why below.
Problem areas:
- getcwd() (called from util/canonize.c) gets an access error.
Maybe its the way my system is set up. To get around this,
you have to run me2 setuid root. Not a very good idea.
- Some of the termcaps don't seem right. Use a "xterm" TERM var
for xterms, "vt100" doesn't work.
- The compute server doesn't work very well with SYS V signals -
ME2 will get a signal (from the compute server) while signals
turned off and dump (not a problem with BSD like signals).
Maybe linking in /usr/ucblib/libucb.a would work (BSD
signals). Nope - seemed to fix the signal problem but broke
the LED lib and filename completion. I really shouldn't use
signals for interprocess communication.
Unixes not supported:
Apollo SysV (probably any "real" Sys V Unix)
Sockets are not supported so you need to turn off the compute
server (in config.h) and don't compile the comserver directory.
unixio.c has compile problems:
Change #include <time.h> to <sys/time.h> (why?).
termio.h doesn't seem to be supported so try USE_BSDIO.
select() needs to be updated to use the "new" structures. I
would do this but its yet another #ifdef and I'm getting tired
of them.
Other than that, the other directories seem to compile and work.
Your best bet is just to compile under BSD.
If you fix this stuff, send the the changes so I can add them to
my copies.
MS-DOS:
The compile scripts won't run but should give you an idea of what
needs to be done. See below.
John Burnell has ported ME2 to PC-DOS:
Compiler: JPI Topspeed C ("__TSC__").
ME2:
Use the large memory model (1 meg code and data). Remember to
compile the libraries that way also.
Use FASTVIDEO (me2/config.h)
Build files (see me2/compile):
terminal=
termlib=
io=misc/pcio.c
keymap=misc/pckmap.c
fileio=fileio.c
process=
fastvideo=misc/pcfv.c
spam =
The util directory:
fxpand.c uses some Lattice C calls that may not be in other
Cs. If this is the case for your compiler, check out
util/misc/ibmdir.c and util/misc/ibmdir.h to see if they
will work. If so, move all files in misc/ to util/ and add
them to the utils library.
Other programs:
The other programs can use the small code, large data model.
The compute server is not supported.
OS/2 (port by John Burnell):
Compiler: JPI Topspeed C ("__TSC__").
OS/2 1.3 on a FAT drive, not sure whether it will support HPSF
filenames (probably not since it uses the MSDOS code to parse
filenames, although it may cope with long filenames). Certainly
it does nothing with EAs at present.
To compile it, configure the system for MSDOZ (util/os.h), except
replace the DOS files with the corresponding OS/2 ones viz:
./util replace ibmdir.c with os2dir.c
./me2/misc replace pcfile.c with os2filio.c
replace pcio.c with os2io.c
don't use pcfv.c
Atari ST TOS and MiNT (port and Makefiles by Jwahar R. Bammi):
Read ./Makefile for more info.
I'd like to keep a list of systems that have compiled and run ME2 and
those systems that don't. Please send me info if your system is not
listed. Also send bug reports/fixes.
Installing
----------
Do one of:
- Use the install script (as root).
- Edit ./Makefile and "make install".
-
Copy me2/me2 and mc2/mc2 to /usr/local/bin or to a directory in your
$PATH.
Copy mutt2/*.mco to /usr/local/lib/me2 or where you specified in
config.h. Or leave them where they are and use the ME2
environment variable (which is what I do). See "load" in
me2/doc/me2.doc for more about this var.
As a quick test, run me2, hit Escape x load <return> ganoi <return> and
use 4 disks. If you get the towers of hanoi, things are probably
working pretty good.
Read all the documentation